$(function() {

	$("#btn_save_provid_coupon").click(function() {
		var sendNumCheck = $("#submitCheck").val() == 'true';
		if (!sendNumCheck) {
			return;
		}
		var couponId = $("#counponId").val();
		var timeType = $("#timeType").val();
		var customerSendArr = [];
		var customerIdArr = [];
		// 去重判断
		var jsonData = $("#preProvidUserTable").bootstrapTable("getData");
		if (jsonData && jsonData.length > 0) {
			for (var i = 0; i < jsonData.length; i++) {
				var customerId = jsonData[i].customerId;
				var sendNum = $("input[customerId='"+customerId+"'][name='sendNum']").val();
				if (isNaN(sendNum)) {
					continue;
				}
				var customerSendObject = new Object();
				customerSendObject.customerId = customerId;
				customerSendObject.sendNum = sendNum;
				customerSendArr.push(customerSendObject);
				customerIdArr.push(customerId);
//				customerIdArr.push(jsonData[i].customerId);
			}
		} else {
			msg("请选择需要发放的用户");
			return false;
		}
		var sendTotalNum = 0;
		$("input[name='sendNum']").each(function(i,v){
			sendTotalNum += parseInt($(this).val());
		});
		layer.confirm('确定发放优惠券？', {
			btn : [ '确定', '取消' ], // 按钮
			skin : 'layui-layer-lan' // 样式类名
		}, function(index, layero) {
			var url = rootPath + "/coupon/providCoupon";
			$.ajax({
				type : "post",
				url : url,
				data : {
					id : couponId,
					timeType : timeType,
					customerSendArr : JSON.stringify(customerSendArr),
					sendTotalNum : sendTotalNum
				},
				datatype : "json",
				success : function(json) {
					if (json.code == "1") {
						showSuccess(json.msg, sys.reloadTable('providUserTable'));
						$("#preProvidUserTable").bootstrapTable("remove", {
							field : 'customerId',
							values : customerIdArr
						});
					} else {
						showErr(json.msg);
					}
				},
				error : function(json) {
					showErr(json.resultMsg);
				}
			});
		}, function(index) {

		});
	});

	// 定义列
	var providUserColumns = [
			{
				field : 'id',
				title : 'id',
				align : 'left',
				valign : 'middle',
				visible : false
			},
			{
				field : 'no',
				title : '序号',
				align : 'left',
				valign : 'middle',
				formatter : function(value, row, index) {
					return index + 1;
				}
			},
			{
				field : 'customerName',
				title : '客户名称',
				align : 'left',
				valign : 'middle'
			},
			{
				field : 'customerId',
				title : '客户ID',
				align : 'left',
				valign : 'middle',
				visible : false
			},
			{
				title : '有效使用期限',
				align : 'center',
				valign : 'middle',
				formatter : function(value, row, index) {
					var beginTime = formatDateTime(row.beginTime, row, index);
					var endTime = formatDateTime(row.endTime, row, index);
					return beginTime + "<br>" + endTime;
				}
			},
			{
				field : 'isUsed',
				title : '是否使用',
				align : 'center',
				valign : 'middle',
				formatter : function(value, row, index) {
					if (row.isUsed == "1") {
						return "已用";
					} else if (row.isUsed == "0") {
						return "尚未使用";
					}
				}
			},
			{
				field : 'usedTime',
				title : '使用时间',
				align : 'center',
				valign : 'middle',
				formatter : function(value, row, index) {
					var usedTime = formatDateTime(row.usedTime, row, index);
					return usedTime;
				}
			},
			{
				field : '#',
				title : '操作',
				align : 'center',
				valign : 'middle',
				formatter : function(value, row, index) {
					if (row.isUsed == "1") {
						return "-";
					} else if (row.isUsed == "0") {
						return "<a class='btn btn-danger btn-xs' href='javaScript:void(0);' onclick='removeProvidUser(\""
								+ $("#counponId").val() + "\",\"" + row.id + "\")'>删除</a>";
					}
				}
			} ];

	// 定义查询回调函数（查询参数在此设置）
	var providUserQueryParams = function(params) {
		var id = $("#counponId").val();
		return {
			rows : params.limit, // 页面大小
			page : params.pageNumber, // 页码
			id : id
		};
	};

	var providUserUrl = rootPath + "/coupon/listCouponProvidUser"; // 请求json数据的服务器地址
	sys.initTable('providUserTable', {
		url : providUserUrl,
		queryParams : providUserQueryParams,
		columns : providUserColumns,
		striped : true,
		clickToSelect : true
	});

	$("#btn_back").click(function() {
		window.location.href = rootPath + "/coupon/toListCouponPage";
	});

	$("#btnAddUser").click(function() {
		var counponId = $("#counponId").val();
		var url = rootPath + "/coupon/toListCouponCustomer?couponId=" + counponId;
		layer.open({
			type : 2,// 弹框类型
			title : '添加发放优惠券用户',// 弹框标题
			area : [ '1100px', '580px' ],// 弹框大小，宽高
			skin : 'layui-layer-lan',// 皮肤
			fixed : false, // 是否固定，不固定
			content : url,// 加载内容，可以是一句话也可以是连接
			shade : [ 0.8, '#393D49' ],// 遮罩，透明度以及颜色
			cancel : function(index, layero) {
				// 不刷新
				// layero.parent().find("#productPropertyTemplatePropertyTable").bootstrapTable("refresh");
				layer.close(index)
				return false;
			}
		});
	});

	// 待发放列表定义列
	var preProvidUserColumns = [
			{
				field : 'id',
				title : 'id',
				align : 'left',
				valign : 'middle',
				visible : false
			},
			{
				field : 'no',
				title : '序号',
				align : 'left',
				valign : 'middle',
				width : '10%',
				formatter : function(value, row, index) {
					return index + 1;
				}
			},
			{
				field : 'customerId',
				title : '客户ID',
				align : 'left',
				valign : 'middle',
				visible : false,
				width : '20%'
			},
			{
				field : 'customerName',
				title : '客户名称',
				align : 'left',
				valign : 'middle',
				width : '20%'
			},
			{
				field : 'mobile',
				title : '手机号',
				align : 'left',
				valign : 'middle',
				width : '20%'
			},
			{
				field : 'sendNum',
				title : '发放数量',
				align : 'left',
				valign : 'middle',
				width : '20%',
				formatter : function(value, row, index) {
					return "<input style='width:100%;' customerId='"+row.customerId+"' type='text' onblur='checkSendNum($(this),"+row.getNum+");' class='form-control col-md-12 diffPrice' name='sendNum' value='0'>";
				}
			},
			{
				field : 'getNum',
				title : '已领取数量',
				align : 'left',
				valign : 'middle',
				width : '20%'
			},
			{
				field : '#',
				title : '操作',
				align : 'center',
				valign : 'middle',
				width : '20%',
				formatter : function(value, row, index) {
					return "<a class='btn btn-danger btn-xs' href='javaScript:void(0);' onclick=\"javascript: removePreProvidUser('" + row.customerId + "');\">删除</a>";
				}
			} ];
	sys.initTable('preProvidUserTable', {
		columns : preProvidUserColumns,
		striped : true,
		clickToSelect : true,
		pagination : false
	});
});

// 弹窗页面选择的用户，添加到的列表中（父级方法，由于子页面调用）
function addCustomerToTable(data) {
	var customerId = data.customerId;
	// 去重判断
	var jsonData = $("#preProvidUserTable").bootstrapTable("getData");
	if (jsonData && jsonData.length > 0) {
		for (var i = 0; i < jsonData.length; i++) {
			if (jsonData[i].customerId == customerId) {
				return false;
			}
		}
	}
	$("#preProvidUserTable").bootstrapTable("append", data);
}

// 移除待发放用户
function removePreProvidUser(customerId) {
	$("#preProvidUserTable").bootstrapTable("remove",{field: 'customerId', values: [customerId]});
}

// 删除已发放优惠券
function removeProvidUser(couponId, couponGetId) {
	layer.confirm('确定要将用户从待发放列表中删除？', {
		btn : [ '确定', '取消' ], // 按钮
		skin : 'layui-layer-lan' // 样式类名
	}, function(index, layero) {
		var url = rootPath + "/couponGet/deleteCouponGet";
		$.ajax({
			type : "post",
			url : url,
			data : {
				id : couponGetId,
				couponId : couponId
			},
			datatype : "json",
			success : function(json) {
				if (json.code == "1") {
					showSuccess(json.msg, sys.reloadTable('providUserTable'));
				} else {
					showErr(json.msg, sys.reloadTable('providUserTable'));
				}
			},
			error : function(json) {
				showErr(json.resultMsg);
			}
		});
	}, function(index) {

	});
}

//检查发放数量是否超过限制
function checkSendNum(_this, getNum){
	var limitNumber = $("#limitNumber").val();
	var sendNum = parseInt(_this.val());
	if (isNaN(sendNum)) {
		showErr('请填写正确数字');
		_this.css("border","1px solid red");
		$("#submitCheck").val("false");
	} else if ((sendNum + parseInt(getNum)) > limitNumber) {
		showErr('发放数量超过限制');
		_this.css("border","1px solid red");
		$("#submitCheck").val("false");
	} else if (sendNum <= 0) {
		showErr('请填写发放数量');
		_this.css("border","1px solid red");
		$("#submitCheck").val("false");
	} else {
		_this.css("border","1px solid #ccc");
		$("#submitCheck").val("true");
	}
}
